Introduction

Sleep Patterns in Mammals
Species Body Weight1 Brain Weight2 Slow Wave Sleep3 Paradoxical Sleep4 Total Sleep Maximum Life Span (yrs)
Asian elephant 2547.000 4603.00 2.1 1.8 3.9 69.0
Horse 521.000 655.00 2.1 0.8 2.9 46.0
Cow 465.000 423.00 3.2 0.7 3.9 30.0
Pig 192.000 180.00 6.5 1.9 8.4 27.0
Brazilian tapir 160.000 169.00 5.2 1.0 6.2 30.4
Gray seal 85.000 325.00 4.7 1.5 6.2 41.0
Human 62.000 1320.00 6.1 1.9 8.0 100.0
Sheep 55.500 175.00 3.2 0.6 3.8 20.0
Chimpanzee 52.160 440.00 8.3 1.4 9.7 50.0
Goat 27.660 115.00 3.3 0.5 3.8 20.0
Baboon 10.550 179.50 9.1 0.7 9.8 27.0
Patas monkey 10.000 115.00 10.0 0.9 10.9 20.2
Rhesus monkey 6.800 179.00 8.4 1.2 9.6 29.0
Red fox 4.235 50.40 7.4 2.4 9.8 9.8
Vervet 4.190 58.00 9.7 0.6 10.3 24.0
Nine-banded armadillo 3.500 10.80 14.3 3.1 17.4 6.5
Water opossum 3.500 3.90 12.8 6.6 19.4 3.0
Cat 3.300 25.60 10.9 3.6 14.5 28.0
Echidna 3.000 25.00 8.6 0.0 8.6 50.0
Rabbit 2.500 12.10 7.5 0.9 8.4 18.0
Tree hyrax 2.000 12.30 4.9 0.5 5.4 7.5
N. American opossum 1.700 6.30 13.8 5.6 19.4 5.0
Phanlanger 1.620 11.40 11.9 1.8 13.7 13.0
Guinea pig 1.040 5.50 7.4 0.8 8.2 7.6
African giant pouched rat 1.000 6.60 6.3 2.0 8.3 4.5
Tenrec 0.900 2.60 11.0 2.3 13.3 4.5
European hedgehog 0.785 3.50 6.6 4.1 10.7 6.0
Owl monkey 0.480 15.50 15.2 1.8 17.0 12.0
Chinchilla 0.425 6.40 11.0 1.5 12.5 7.0
Rat 0.280 1.90 10.6 2.6 13.2 4.7
Galago 0.200 5.00 9.5 1.2 10.7 10.4
Golden hamster 0.120 1.00 11.0 3.4 14.4 3.9
Tree shrew 0.104 2.50 13.2 2.6 15.8 2.3
Ground squirrel 0.101 4.00 10.4 3.4 13.8 9.0
Eastern American mole 0.075 1.20 6.3 2.1 8.4 3.5
Musk shrew 0.048 0.33 10.8 2.0 12.8 2.0
Big brown bat 0.023 0.30 15.8 3.9 19.7 19.0
Mouse 0.023 0.40 11.9 1.3 13.2 3.2
Little brown bat 0.010 0.25 17.9 2.0 19.9 24.0
Lesser short-tailed shrew 0.005 0.14 7.7 1.4 9.1 2.6

1 Weight in kilograms

2 Weight in grams

3 Non-dreaming hours per day

4 Dreaming hours per day

(image1.png)

LS0tCnRpdGxlOiAiTWFtbWFsIFNsZWVwIEJlaGF2aW9yIgphdXRob3I6ICJKb3NlbHluIEFuZ2VsZXMgYW5kIFBpcHBhIEdhbGxhZ2hlciIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB0cnVlCiAgICB0b2NfZmxvYXQ6IHRydWUKICAgIHRoZW1lOiB5ZXRpCiAgICBkZl9wcmludDogcGFnZWQKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQpgYGAKCgoKYGBge3IsIGVjaG89RkFMU0UsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGd0KQpsaWJyYXJ5KHBsb3RseSkKbGlicmFyeShwYXRjaHdvcmspCnNsZWVwPC1yZWFkLmNzdigiU2xlZXBJbk1hbW1hbHMuY3N2IikKYGBgCgojIyBJbnRyb2R1Y3Rpb24KCmBgYHtyLCBlY2hvPUZBTFNFfQpzbGVlcCAlPiUgCiAgc2VsZWN0KCFHZXN0YXRpb24udGltZS4uZGF5cy46T3ZlcmFsbC5kYW5nZXIuaW5kZXgpICU+JSAKICBhcnJhbmdlKGRlc2MoQm9keS5XZWlnaHQuLmtnLikpICU+JSAKZ3Qocm93bmFtZV9jb2wgPSAicm93IiwKICAgZ3JvdXBuYW1lX2NvbCA9ICJncm91cCIpICU+JSAKICB0YWJfaGVhZGVyKAogICAgdGl0bGUgPSBtZCgiKipTbGVlcCBQYXR0ZXJucyBpbiBNYW1tYWxzKioiKSkgJT4lIAogIHRhYl9mb290bm90ZSgKICAgIGZvb3Rub3RlID0gIldlaWdodCBpbiBraWxvZ3JhbXMiLCAKICAgIGxvY2F0aW9ucyA9IGNlbGxzX2NvbHVtbl9sYWJlbHMoCiAgICAgIGNvbHVtbnMgPSAyKSkgJT4lIAogIHRhYl9mb290bm90ZSgKICAgIGZvb3Rub3RlID0gIldlaWdodCBpbiBncmFtcyIsCiAgICBsb2NhdGlvbnMgPSBjZWxsc19jb2x1bW5fbGFiZWxzKAogICAgICBjb2x1bW5zID0gMykpICU+JQogIHRhYl9mb290bm90ZSgKICAgIGZvb3Rub3RlID0gIk5vbi1kcmVhbWluZyBob3VycyBwZXIgZGF5IiwKICAgIGxvY2F0aW9ucyA9IGNlbGxzX2NvbHVtbl9sYWJlbHMoCiAgICAgIGNvbHVtbnMgPSA0KSkgJT4lCiAgdGFiX2Zvb3Rub3RlKAogICAgZm9vdG5vdGUgPSAiRHJlYW1pbmcgaG91cnMgcGVyIGRheSIsCiAgICBsb2NhdGlvbnMgPSBjZWxsc19jb2x1bW5fbGFiZWxzKAogICAgICBjb2x1bW5zID0gNSkpICU+JSAKICBjb2xzX2xhYmVsKAogICAgU3BlY2llcy5vZi5hbmltYWw9IlNwZWNpZXMiLAogICAgQm9keS5XZWlnaHQuLmtnLj0iQm9keSBXZWlnaHQiLAogICAgQnJhaW4uV2VpZ2h0Li5nLiA9IkJyYWluIFdlaWdodCIsCiAgICBTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuID0gIlNsb3cgV2F2ZSBTbGVlcCIsCiAgICBQYXJhZG94aWNhbC5zbGVlcC4uaHJzLmRheS4gPSAiUGFyYWRveGljYWwgU2xlZXAiLAogICAgVG90YWwuc2xlZXAuLmhycy5kYXkuCT0gIlRvdGFsIFNsZWVwIiwKICAgIE1heGltdW0ubGlmZS5zcGFuLi55ZWFycy4gPSJNYXhpbXVtIExpZmUgU3BhbiAoeXJzKSIpCmBgYAoKKGltYWdlMS5wbmcpCgpgYGB7ciwgZWNobz1GQUxTRX0Kc2xlZXBfZ3JhcGg8LQogIHNsZWVwICU+JSAKICBtdXRhdGUoYm9keV93dGxicyA9IEJvZHkuV2VpZ2h0Li5rZy4qMi4yMDQ2MikgJT4lICAKICBhcnJhbmdlKGRlc2MoYm9keV93dGxicykpICU+JSAKICBoZWFkKDI1KSAlPiUgCiAgZ2dwbG90KGFlcygKICAgIHkgPSBib2R5X3d0bGJzLCAKICAgIHggPSBUb3RhbC5zbGVlcC4uaHJzLmRheS4sCiAgICBzaXplID0gYm9keV93dGxicywKICAgIGFscGhhID0gLjUsCiAgICBjb2xvcj0gU3BlY2llcy5vZi5hbmltYWwpKSsKICBnZW9tX3BvaW50KCkgKwogIGxhYnModGl0bGUgPSAiVG90YWwgaG91cnMgcGVyIGRheSBtYW1tYWxzIG9mIGRpZmZlcmVudCB3ZWlnaHQgKGxicykgc2xlZXAiLAogICAgICAgeCA9ICIiLAogICAgICAgeSA9ICIiKSArCiAgdGhlbWUocGxvdC50aXRsZS5wb3NpdGlvbiA9ICJwbG90IiwKICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAiTm9uZSIpIAoKZ2dwbG90bHkoc2xlZXBfZ3JhcGgpICU+JSAKICBoaWRlX2xlZ2VuZCgpCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CnNsZWVwICU+JSAKICAgIGdncGxvdChhZXMoeCA9IE92ZXJhbGwuZGFuZ2VyLmluZGV4LAogICAgICAgICAgICAgICB5ID0gZmN0X3Jlb3JkZXIoU3BlY2llcy5vZi5hbmltYWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPdmVyYWxsLmRhbmdlci5pbmRleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kZXNjID0gRkFMU0UpLAogICAgICAgICAgICAgICBmaWxsID0gUHJlZGF0aW9uLmluZGV4KSwKICAgICAgICAgICBjb2xvciA9ICJ3aGl0ZSIpICsKICAgIGdlb21fY29sKCkgKwogICAgbGFicyh0aXRsZSA9ICJPdmVyYWxsIGRhbmdlciBpbmRleCBvZiBhdHRhY2tzIGZyb20gb3RoZXIgYW5pbWFscyBmb3IgbWFtbWFscyIsCiAgICAgICAgIHN1YnRpdGxlID0gIiAgICAiLAogICAgICAgICBjYXB0aW9uID0gIlBpcHBhIEdhbGxhZ2hlciBhbmQgSm9zZWx5biBBbmdlbGVzIiwKICAgICAgICAgeCA9ICIiLAogICAgICAgICB5ID0gIiIsCiAgICAgICAgIGZpbGwgPSAiUHJlZGF0aW9uIEluZGV4IikgKwogIHNjYWxlX3hfY29udGludW91cyhleHBhbmQgPSBjKDAsMCkpICsKICAgIHRoZW1lKAogICAgICAgICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDYuNSksCiAgICAgICAgICBwbG90LnRpdGxlLnBvc2l0aW9uID0gInBsb3QiLAogICAgICAgICAgcGxvdC5jYXB0aW9uLnBvc2l0aW9uID0gInBsb3QiLAogICAgICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICIjMGEyMDNiIiksCiAgICAgICAgICBwYW5lbC5ncmlkLm1ham9yLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgICBwYW5lbC5ncmlkLm1pbm9yLnggPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgICBwYW5lbC5ncmlkLm1ham9yLnkgPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgICBwYW5lbC5ncmlkLm1pbm9yLnkgPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGNvbG9yID0gIndoaXRlIiksCiAgICAgICAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoY29sb3IgPSAid2hpdGUiKSkgKwogICAgc2NhbGVfZmlsbF9ncmFkaWVudChoaWdoID0gIiMwYTIwM2IiLCBsb3cgPSAiI2MzZGVmZiIpCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CkcwIDwtCnNsZWVwICU+JSAKICBtdXRhdGUocGVyY2VudF9kcmVhbWluZyA9IChQYXJhZG94aWNhbC5zbGVlcC4uaHJzLmRheS4vVG90YWwuc2xlZXAuLmhycy5kYXkuKSAqIDEwMCkgJT4lIAogIGZpbHRlcihwZXJjZW50X2RyZWFtaW5nICE9IDApICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9jb2woYWVzKHggPSBwZXJjZW50X2RyZWFtaW5nLCAKICAgICAgICAgICAgICAgeSA9IGZjdF9yZW9yZGVyKFNwZWNpZXMub2YuYW5pbWFsLCBwZXJjZW50X2RyZWFtaW5nLCBtZWRpYW4pLAogICAgICAgICAgICAgICBmaWxsID0gVG90YWwuc2xlZXAuLmhycy5kYXkuKSkgKwogIGxhYnModGl0bGUgPSAiSG93IE11Y2ggZG8gTWFtbWFscyBEcmVhbSIsCiAgICAgICB5ID0gIiIsCiAgICAgICB4ID0gIlBlcmNlbnRhZ2Ugb2YgSG91cnMgRHJlYW1pbmciLAogICAgICAgZmlsbCA9ICJUb3RhbCBTbGVlcGluZyBIb3VycyIsCiAgICAgICBjYXB0aW9uID0gIlBpcHBhIEdhbGxhZ2hlciBhbmQgSm9zZWx5biBBbmdlbGVzIiwKICAgICAgIHN1YnRpdGxlID0gIiAgICAiKSArCiAgdGhlbWUoCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNi41KSwKICAgIHBhbmVsLmdyaWQubWFqb3IueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWlub3IueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWlub3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBsb3QudGl0bGUucG9zaXRpb24gPSAicGxvdCIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIiMwYTIwM2IiKSwKICAgIHBsb3QuY2FwdGlvbi5wb3NpdGlvbiA9ICJwbG90IgogICkgKwogIHNjYWxlX3hfY29udGludW91cyhleHBhbmQgPSBjKDAsMCkpICsKICBzY2FsZV9maWxsX2dyYWRpZW50KGhpZ2ggPSAiIzBhMjAzYiIsIGxvdyA9ICIjYzNkZWZmIikKRzAKCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9CkcxIDwtCiAgc2xlZXAgJT4lIAogIGZpbHRlcihTcGVjaWVzLm9mLmFuaW1hbCAlaW4lIGMoIkhvcnNlIiwgIkNvdyIsICJQaWciLCAiSHVtYW4iLCAiU2hlZXAiLCAiQ2hpbXBhbnplZSIsICJHb2F0IiwgIkJhYm9vbiIsICJSZWQgZm94IiwgIkNhdCIsICJSYWJiaXQiLCAiUmF0IiwgIkdyb3VuZCBzcXVpcnJlbCIsICJNb3VzZSIpKSAlPiUgCiAgc2VsZWN0KFNwZWNpZXMub2YuYW5pbWFsLCBTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuLFNsZWVwLmV4cG9zdXJlLmluZGV4KSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fY29sKGFlcyh5ID0gU2xvdy53YXZlLnNsZWVwLi5ocnMuZGF5LiwgCiAgICAgICAgICAgICAgIHggPSBmY3RfcmVvcmRlcihTcGVjaWVzLm9mLmFuaW1hbCxTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuLG1lZGlhbiksCiAgICAgICAgICAgICAgIGZpbGwgPSBTbGVlcC5leHBvc3VyZS5pbmRleCkpICsKICBnZW9tX3RleHQoYWVzKHkgPSBTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuICsgNSwgeD1mY3RfcmVvcmRlcihTcGVjaWVzLm9mLmFuaW1hbCxTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuLG1lZGlhbiksIGxhYmVsPSBTcGVjaWVzLm9mLmFuaW1hbCksIGNvbG9yPSJ3aGl0ZSIsIGZvbnRmYWNlPSJib2xkIixhbHBoYT0wLjYsIHNpemU9IDIuNSwgaW5oZXJpdC5hZXMgPSBGQUxTRSApICsKICBzY2FsZV9jb2xvcl92aXJpZGlzX2Mob3B0aW9uID0gIm1hZ21hIikgKwogIGxhYnModGl0bGUgPSAiTm9uLURyZWFtaW5nIEhvdXJzIG9mIFNsZWVwIHBlciBEYXkiLAogICAgICAgY2FwdGlvbiA9ICJQaXBwYSBHYWxsYWdoZXIgYW5kIEpvc2VseW4gQW5nZWxlcyIsCiAgICAgICBzdWJ0aXRsZSA9ICJUaGlzIG1lYXN1cmVzIHRoZSBudW1iZXIgb2YgaG91cnMgb2Ygc2xvdyB3YXZlIChub24tZHJlYW1pbmcpIHNsZWVwIGVhY2ggbWFtbWFsLCBvbiBhdmVyZ2FlLCBoYXMgZWFjaCBuaWdodC5cblRoZSBTbGVlcCBNZWFzdXJlIEluZGV4IGRldGVybWluZXMgaG93IHZ1bG5lcmFibGUgdGhlIG1hbW1hbCBpcyB3aGVuIHNsZWVwaW5nLCB3aXRoIDEgYmVpbmcgdGhlIGxlYXN0IHZ1bG5lcmJhbGUgXG5hbmQgNSB0aGUgbW9zdC4iLAogICAgICAgeSA9ICIiLAogICAgICAgeCA9ICIiLAogICAgICAgZmlsbCA9ICJTbGVlcCBFeHBvc3VyZSBJbmRleCIpICsKICBjb29yZF9wb2xhcihzdGFydCA9IDApICsKICB5bGltKC0zLDE4KSArCiAgIHRoZW1lKAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X2JsYW5rKCksCiAgICBwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpLAogICAgcGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAiIzBhMjAzYiIpLAogICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gIiMwYTIwM2IiKSwKICAgIGxlZ2VuZC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAiIzBhMjAzYiIpLAogICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgcGxvdC50aXRsZS5wb3NpdGlvbiA9ICJwbG90IiwKICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgIGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBwbG90LmNhcHRpb24gPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgICBwbG90LmNhcHRpb24ucG9zaXRpb24gPSAicGxvdCIsCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiwgc2l6ZSA9IDcpKSArCiAgc2NhbGVfZmlsbF9ncmFkaWVudChoaWdoID0gIiMyNDczZGIiLCBsb3cgPSAiI2MzZGVmZiIpCiAgCkcxCmBgYAoKCmBgYHtyLCBlY2hvPUZBTFNFfQpHMiA8LQogIHNsZWVwICU+JSAKICBmaWx0ZXIoU3BlY2llcy5vZi5hbmltYWwgJWluJSBjKCJIb3JzZSIsICJDb3ciLCAiUGlnIiwgIkh1bWFuIiwgIlNoZWVwIiwgIkNoaW1wYW56ZWUiLCAiR29hdCIsICJCYWJvb24iLCAiUmVkIGZveCIsICJDYXQiLCAiUmFiYml0IiwgIlJhdCIsICJHcm91bmQgc3F1aXJyZWwiLCAiTW91c2UiKSkgJT4lIAogIHNlbGVjdChTcGVjaWVzLm9mLmFuaW1hbCxQYXJhZG94aWNhbC5zbGVlcC4uaHJzLmRheS4gLFNsZWVwLmV4cG9zdXJlLmluZGV4KSAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fY29sKGFlcyh5ID0gUGFyYWRveGljYWwuc2xlZXAuLmhycy5kYXkuLCAKICAgICAgICAgICAgICAgeCA9IGZjdF9yZW9yZGVyKFNwZWNpZXMub2YuYW5pbWFsLFBhcmFkb3hpY2FsLnNsZWVwLi5ocnMuZGF5LixtZWRpYW4pLAogICAgICAgICAgICAgICBmaWxsID0gU2xlZXAuZXhwb3N1cmUuaW5kZXgpKSArCiAgZ2VvbV90ZXh0KGFlcyh5ID0gUGFyYWRveGljYWwuc2xlZXAuLmhycy5kYXkuICsgMiwgeD1mY3RfcmVvcmRlcihTcGVjaWVzLm9mLmFuaW1hbCxQYXJhZG94aWNhbC5zbGVlcC4uaHJzLmRheS4sbWVkaWFuKSwgbGFiZWw9IFNwZWNpZXMub2YuYW5pbWFsKSwgY29sb3I9IndoaXRlIiwgZm9udGZhY2U9ImJvbGQiLGFscGhhPTAuNiwgc2l6ZT0yLjUsIGluaGVyaXQuYWVzID0gRkFMU0UgKSArCiAgbGFicyh0aXRsZSA9ICJEcmVhbWluZyBIb3VycyBvZiBTbGVlcCBwZXIgRGF5IiwKICAgICAgIGNhcHRpb24gPSAiUGlwcGEgR2FsbGFnaGVyIGFuZCBKb3NlbHluIEFuZ2VsZXMiLAogICAgICAgc3VidGl0bGUgPSAiVGhpcyBtZWFzdXJlcyB0aGUgbnVtYmVyIG9mIGhvdXJzIG9mIHBhcmFkb3hpY2FsIChkcmVhbWluZykgc2xlZXAgZWFjaCBtYW1tYWwsIG9uIGF2ZXJnYWUsIGhhcyBlYWNoIG5pZ2h0LlxuVGhlIFNsZWVwIE1lYXN1cmUgSW5kZXggZGV0ZXJtaW5lcyBob3cgdnVsbmVyYWJsZSB0aGUgbWFtbWFsIGlzIHdoZW4gc2xlZXBpbmcsIHdpdGggMSBiZWluZyB0aGUgbGVhc3QgdnVsbmVyYmFsZVxuYW5kIDUgdGhlIG1vc3QuIiwKICAgICAgIHkgPSAiIiwKICAgICAgIHggPSAiIiwKICAgICAgIGZpbGwgPSAiU2xlZXAgRXhwb3N1cmUgSW5kZXgiKSArCiAgY29vcmRfcG9sYXIoc3RhcnQgPSAwKSArCiAgeWxpbSgtMS41LDYpICsKICAgICB0aGVtZSgKICAgIGF4aXMudGV4dC54ID0gZWxlbWVudF9ibGFuaygpLAogICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBsb3QuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gIiMwYTIwM2IiKSwKICAgIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICIjMGEyMDNiIiksCiAgICBsZWdlbmQuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdChmaWxsID0gIiMwYTIwM2IiKSwKICAgIHBsb3QudGl0bGUgPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgIHBsb3QudGl0bGUucG9zaXRpb24gPSAicGxvdCIsCiAgICBsZWdlbmQudGV4dCA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgbGVnZW5kLnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgcGxvdC5jYXB0aW9uID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBwbG90LmNhcHRpb24ucG9zaXRpb24gPSAicGxvdCIsCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiwgc2l6ZSA9IDcpKSArCiAgc2NhbGVfZmlsbF9ncmFkaWVudChoaWdoID0gIiMyNDczZGIiLCBsb3cgPSAiI2MzZGVmZiIpCkcyCgpgYGAKCgpgYGB7ciwgZWNobz1GQUxTRX0KRzMgPC0KICBzbGVlcCAlPiUgCiAgZ2dwbG90KCkgKwogIGdlb21fdmlvbGluKGFlcyh4ID0gT3ZlcmFsbC5kYW5nZXIuaW5kZXgsCiAgICAgICAgICAgICAgICAgIHkgPSBNYXhpbXVtLmxpZmUuc3Bhbi4ueWVhcnMuKSwKICAgICAgICAgICAgICAgICAgY29sb3IgPSAiIzI0NzNkYiIsCiAgICAgICAgICAgICAgICAgIGZpbGwgPSAiI2MzZGVmZiIpICsKICB0aGVtZSgKICAgIHBsb3QuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdCgiIzBhMjAzYiIpLAogICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfcmVjdCgiIzBhMjAzYiIpLAogICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgcGFuZWwuZ3JpZC5tYWpvci54ID0gZWxlbWVudF9ibGFuaygpLAogICAgcGFuZWwuZ3JpZC5taW5vci54ID0gZWxlbWVudF9ibGFuaygpLAogICAgcGFuZWwuZ3JpZC5tYWpvci55ID0gZWxlbWVudF9ibGFuaygpLAogICAgcGFuZWwuZ3JpZC5taW5vci55ID0gZWxlbWVudF9ibGFuaygpLAogICAgYXhpcy50ZXh0ID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBwbG90LmNhcHRpb24gPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgIHBsb3QuY2FwdGlvbi5wb3NpdGlvbiA9ICJwbG90IiwKICAgIHBsb3QudGl0bGUucG9zaXRpb24gPSAicGxvdCIsCiAgICBwbG90LnN1YnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiwgc2l6ZSA9IDcpCiAgKSArCiAgbGFicyh4ID0gIiIsCiAgICAgICB5ID0gIiIsCiAgICAgICB0aXRsZSA9ICJUaGUgQ29ycmVsYXRpb24gYmV0d2VlbiBNYXhpbXVtIExpZmUgU3BhbiBhbmQgRGFuZ2VyIEluZGV4IiwKICAgICAgIHN1YnRpdGxlID0gIlRoZSBEYW5nZXIgSW5kZXggZGV0ZXJtaW5lcyBob3cgdnVsbmVyYWJsZSB0aGUgbWFtbWFsIGlzIHRvIGhhcm0sIHdpdGggMSBiZWluZyB0aGUgbGVhc3QgdnVsbmVyYmFsZSBhbmQgNSB0aGUgbW9zdC4iLAogICAgICAgY2FwdGlvbiA9ICJQaXBwYSBHYWxsYWdoZXIgYW5kIEpvc2VseW4gQW5nZWxlcyIpCiAgCkczCmBgYAoKYGBge3IsIGVjaG89RkFMU0V9Ckc0IDwtCiAgc2xlZXAgJT4lIAogICBmaWx0ZXIoU3BlY2llcy5vZi5hbmltYWwgJWluJSBjKCJIb3JzZSIsICJDb3ciLCAiUGlnIiwgIkh1bWFuIiwgIlNoZWVwIiwgIkNoaW1wYW56ZWUiLCAiR29hdCIsICJCYWJvb24iLCAiUmVkIGZveCIsICJDYXQiLCAiUmFiYml0IiwgIlJhdCIsICJHcm91bmQgc3F1aXJyZWwiLCAiTW91c2UiKSkgJT4lIAogIG11dGF0ZShUb3RhbF9ob3Vyc19zbGVlcGluZ19saWZlID0gVG90YWwuc2xlZXAuLmhycy5kYXkuICogKE1heGltdW0ubGlmZS5zcGFuLi55ZWFycy4gKiAzNjUpLAogICAgICAgICBUb3RhbF9ob3Vyc19hbGl2ZSA9IE1heGltdW0ubGlmZS5zcGFuLi55ZWFycy4gKiAzNjUgKiAyNCwKICAgICAgICAgUHJvcF9zcGVudF9zbGVlcGluZyA9IChUb3RhbF9ob3Vyc19zbGVlcGluZ19saWZlL1RvdGFsX2hvdXJzX2FsaXZlKSAqMTAwKSAlPiUgCiAgIGdncGxvdCgpICsKICBnZW9tX2NvbChhZXMoeSA9IFByb3Bfc3BlbnRfc2xlZXBpbmcsIAogICAgICAgICAgICAgICB4ID0gZmN0X3Jlb3JkZXIoU3BlY2llcy5vZi5hbmltYWwsUHJvcF9zcGVudF9zbGVlcGluZyxtZWRpYW4pLAogICAgICAgICAgICAgIGZpbGwgPSBNYXhpbXVtLmxpZmUuc3Bhbi4ueWVhcnMuKSkgKwogIGdlb21fdGV4dChhZXMoeSA9IFByb3Bfc3BlbnRfc2xlZXBpbmcgKyAyMCwgeD1mY3RfcmVvcmRlcihTcGVjaWVzLm9mLmFuaW1hbCxQcm9wX3NwZW50X3NsZWVwaW5nLG1lZGlhbiksIGxhYmVsPSBTcGVjaWVzLm9mLmFuaW1hbCksIGNvbG9yPSJ3aGl0ZSIsIGZvbnRmYWNlPSJib2xkIixhbHBoYT0wLjYsIHNpemU9Mi41LCBpbmhlcml0LmFlcyA9IEZBTFNFICkgKwogIGNvb3JkX3BvbGFyKHN0YXJ0ID0gMCkgKwogIHlsaW0oLTUsOTApICsKICAgdGhlbWUoCiAgICBheGlzLnRleHQueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksCiAgICBwbG90LmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICIjMGEyMDNiIiksCiAgICBwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAiIzBhMjAzYiIpLAogICAgbGVnZW5kLmJhY2tncm91bmQgPSBlbGVtZW50X3JlY3QoZmlsbCA9ICIjMGEyMDNiIiksCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIndoaXRlIiksCiAgICBwbG90LnRpdGxlLnBvc2l0aW9uID0gInBsb3QiLAogICAgbGVnZW5kLnRleHQgPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgYXhpcy50ZXh0LnkgPSBlbGVtZW50X3RleHQoY29sb3IgPSAid2hpdGUiKSwKICAgIHBsb3QuY2FwdGlvbiA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIpLAogICAgcGxvdC5jYXB0aW9uLnBvc2l0aW9uID0gInBsb3QiLAogICAgcGxvdC5zdWJ0aXRsZSA9IGVsZW1lbnRfdGV4dChjb2xvciA9ICJ3aGl0ZSIsIHNpemUgPSA3KSkgKwogIHNjYWxlX2ZpbGxfZ3JhZGllbnQoaGlnaCA9ICIjMjQ3M2RiIiwgbG93ID0gIiNjM2RlZmYiKSArCiAgbGFicyh0aXRsZSA9ICJQcm9wb3J0aW9uIG9mIE1hbW1hbHMnIExpdmVzIFNwZW50IFNsZWVwaW5nIiwKICAgICAgIHggPSAiIiwKICAgICAgIHkgPSAiIiwKICAgICAgIGNhcHRpb24gPSAiUGlwcGEgR2FsbGFnaGVyIGFuZCBKb3NlbHluIEFuZ2VsZXMiLAogICAgICAgZmlsbCA9ICJNYXhpbXVtIExpZmUgU3BhbiIpCiAgCkc0IApgYGAKCmBgYHtyLCBlY2hvPUZBTFNFfQpHNSA8LQpzbGVlcCAlPiUgCiAgcGl2b3RfbG9uZ2VyKGNvbHMgPSBTbG93LndhdmUuc2xlZXAuLmhycy5kYXkuOlBhcmFkb3hpY2FsLnNsZWVwLi5ocnMuZGF5LiwgbmFtZXNfdG8gPSAiRHJlYW1fVHlwZSIsIHZhbHVlc190byA9ICJIb3VycyIpICU+JSAKICBnZ3Bsb3QoKSArCiAgZ2VvbV9jb2woYWVzKHggPSBIb3VycywgeSA9IFNwZWNpZXMub2YuYW5pbWFsLCBmaWxsID0gRHJlYW1fVHlwZSkpICsKICBsYWJzKHRpdGxlID0gIlByb3BvcnRpb24gb2YgRHJlYW1pbmcgdnMgTm9uLURyZWFtaW5nIFNsZWVwIiwKICAgICAgIHkgPSAiIiwKICAgICAgIHggPSAiIiwKICAgICAgIGZpbGwgPSAiU2xlZXAgVHlwZSIsCiAgICAgICBjYXB0aW9uID0gIlBpcHBhIEdhbGxhZ2hlciBhbmQgSm9zZWx5biBBbmdlbGVzIiwKICAgICAgIHN1YnRpdGxlID0gIiAgICAiKSArCiAgdGhlbWUoCiAgICBheGlzLnRleHQueSA9IGVsZW1lbnRfdGV4dChzaXplID0gNi41KSwKICAgIHBhbmVsLmdyaWQubWFqb3IueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWlub3IueCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWFqb3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBhbmVsLmdyaWQubWlub3IueSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgIHBsb3QudGl0bGUucG9zaXRpb24gPSAicGxvdCIsCiAgICBwbG90LnRpdGxlID0gZWxlbWVudF90ZXh0KGNvbG9yID0gIiMwYTIwM2IiKSwKICAgIHBsb3QuY2FwdGlvbi5wb3NpdGlvbiA9ICJwbG90IgogICkgKwogIHNjYWxlX3hfY29udGludW91cyhleHBhbmQgPSBjKDAsMCkpICsKICBzY2FsZV9maWxsX21hbnVhbChsYWJlbHMgPSBjKCJEcmVhbWluZyIsICJOb24tRHJlYW1pbmciKSwgdmFsdWVzID0gYygiIzBhMjAzYiIsIiMyNDczZGIiKSkKCkc1ICAKYGBgCgoKCgoK